package com.xuzimian.demo.aws.cloud;

import net.coobird.thumbnailator.Thumbnails;
import org.apache.tika.io.IOUtils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ThumbnailsCompressionImageDemo {

    public static void main(String[] args) {
        for (File file : new File("/Users/zimian.xu/Desktop/壁纸2/").listFiles()) {
            try {
                if (file.getName().equals(".DS_Store")) continue;

                ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                Thumbnails.of(new ByteArrayInputStream(IOUtils.toByteArray(new FileInputStream(file))))
                        .scale(1f)
                        // .size(sourceImg.getWidth(), sourceImg.getHeight())
                        .outputQuality(0.5f)
                        //jpg格式支持压缩，最好使用jpg格式
                        .outputFormat("jpg")
                        //这种方式输出的文件会导致在原先的照片前加上thumbnails的前缀，不会覆盖原先的文件
                        //如果需要覆盖原先的文件，使用Rename.NO_CHANGE
                        .toOutputStream(outputStream);
                System.out.println(outputStream);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
